A non-volatile memory is a memory which stores data without the need for a power supply to maintain the data. One example of a non-volatile memory is an electrically programmable read only memory (EPROM) of which one particular category is a flash EPROM. The time required to program and erase flash EPROMs is long compared with the programming time for volatile memories such as static random access memories (SRAMs) or dynamic random access memories (DRAMs). Moreover, the program and erase operations for a flash memory are destructive, and therefore the number of programming and erase operations which the device can tolerate in its lifetime is limited.
There is a requirement to characterise memory devices in respect of various parameters, one of which is the set-up and hold times for the input of data to the chip. The data falls in three categories: address data required to select particular cells for programming; normal data defining the information to be stored in the memory; and command data which defines the operational mode of the memory. With conventional test methods, the set-up and hold time for the command data can be carried out without affecting the memory cells themselves. The present invention is therefore principally concerned with characterising the set-up and hold time for the normal data and address data. These parameters are currently tested as part of a write/read cycle by writing data bits into the memory at selected addresses and then immediately reading the stored data bits to check their accuracy. The entire cycle time (for writing and reading the data) is determined. This is done by altering the cycle time to the minimum level at which accurate data is still guaranteed. In this method, there is no way of distinguishing between the write time and the read time, since all that can be determined is the overall write and read cycle time. Thus, it is not possible to characterise memories in respect of their set-up and hold times.
Moreover, the existing method requires data actually to be written to memory cells. As explained above, this then reduces the number of cycles for which the part will subsequently operate in normal use. It will readily be appreciated that it is important to characterise the set-up and hold times of the address data and normal data for several different parameters, for example different voltage and temperature parameters. Therefore, many write cycles would be required to carry out a proper characterisation of the memory.
It is an object of the present invention to test a non-volatile memory without requiring data actually to be written to memory cells of the memory.